package org.ekingstar.qd.service;

import java.util.List;

import org.ekingstar.qd.domain.QdCompareCond;
import org.ekingstar.qd.domain.QdSimplemeasu;
import org.ekingstar.qd.domain.QdWhereClause;

import com.ekingstar.framework.domain.Role;

/**
 * 主题发布业务处理接口
 * @author 
 */
public interface CDeployService {

	/**
	 * @descripte 发布显示字段列，成功返回1，失败返回-1 
	 * @param strDomainId  主题ID号
	 * @param strRoleId    角色ID号
	 * @param strMeasureId 显示字段ID号集
	 * @return int
	 */
	public int saveOrUpdateDeployMeasure(String strDomainId,String strRoleId,String[] strMeasureId);
	
	/**
	 * @descripte 查询发布的显示字段列 
	 * @param strDomainId  主题ID号
	 * @param strRoleId    角色ID号
	 * @return List
	 */
	public List<QdSimplemeasu> getDeployMeasureList(String strDomainId,String strRoleId);
	
	/**
	 * @descripte 根据主题id号和角色ID号查询显示列字段数据信息 
	 * @param strDomainId 主题ID号
	 * @param strRoleId   角色ID号
	 * @return List
	 */
	public List<QdSimplemeasu> getMeasureList(String strDomainId,String strRoleId);
	
	/**
	 * @descripte 发布查询字段，成功返回1，失败返回-1 
	 * @param strDomainId  主题ID号
	 * @param strRoleId    角色ID号
	 * @param strMeasureId 查询字段ID号集
	 * @return int
	 */
	public int saveOrUpdateDeployCompareCond(String strDomainId,String strRoleId,String[] strCompareCondId);
	
	/**
	 * @descripte 查询发布的查询字段 
	 * @param strDomainId  主题ID号
	 * @param strRoleId    角色ID号
	 * @return List
	 */
	public List<QdCompareCond> getDeployCompareCondList(String strDomainId,String strRoleId);
	
	/**
	 * @descripte 根据主题id号和角色ID号查询查询字段 
	 * @param strDomainId 主题ID号
	 * @param strRoleId   角色ID号
	 * @return List
	 */
	public List<QdCompareCond> getCompareCondList(String strDomainId,String strRoleId);
	
	/**
	 * @descripte 发布过滤条件字段，成功返回1，失败返回-1 
	 * @param strDomainId       主题ID号
	 * @param strRoleId         角色ID号
	 * @param strWhereClauseId  过滤条件字段ID号集
	 * @return int
	 */
	public int saveOrUpdateDeployWhereClause(String strDomainId,String strRoleId,String[] strWhereClauseId);
	
	/**
	 * @descripte 查询发布的过滤条件字段
	 * @param strDomainId  主题ID号
	 * @param strRoleId    角色ID号
	 * @return List
	 */	
	public List<QdWhereClause> getDeployWhereClauseList(String strDomainId,String strRoleId);
	
	/**
	 * @descripte 查询过滤条件字段
	 * @param strDomainId  主题ID号
	 * @param strRoleId    角色ID号
	 * @return List
	 */
	public List<QdWhereClause> getWhereClauseList(String strDomainId,String strRoleId);
	
	/**
	 * @descripte 发布角色，成功返回1，失败返回-1 
	 * @param functionId    主题Function ID号	
	 * @param strRoleId     角色ID号集
	 * @return int
	 */
	public int saveOrUpdateDeployRole(String functionId,String[] strRoleId);
	
	/**
	 * @descripte 查询发布的角色 
	 * @param functionId  主题Function ID号
	 * @return List
	 */
	public List<Role> getDeployRoleList(String functionId);
		
	/**
	 * @descripte 根据主题id号查询角色数据信息 
	 * @param functionId 主题Function ID号
	 * @return List
	 */
	public List<Role> getRoleList(String functionId);
	
	/**
	 * @descripte 根据Function ID号查询角色数据信息 
	 * @param functionId 主题Function ID号
	 * @return List
	 */
	@SuppressWarnings({ "unused", "unchecked" })
	public List<Role> getRoleListByFunctionId(String functionId);
}
